package com.atguigu.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

/**
 * 操作数据库的基本方法。
 * @author 伟哥
 * @date 2021-05-03 10:22
 */
@Repository
public class BookDao {
    @Autowired
    JdbcTemplate jdbcTemplate;


    /**
     * 1、减去用户的余额
     */
    public void updateBalance(String userName,int price){
        // 1、写sql
        String sql="UPDATE account SET balance=balance-? WHERE username=?";
        // 2、提交sql
        int update = jdbcTemplate.update(sql, price, userName);

        if (update > 0){
            System.out.println("【余额】修改成功");
        }else {
            System.out.println("【余额】修改失败");
        }

    }

    /**
     * 2、获取图书的价格
     */
     public Integer getPrice(String isbn){
        // 1、写sql
        String sql ="SELECT price FROM book WHERE isbn=?";
        // 2、提交sql
        Integer price = jdbcTemplate.queryForObject(sql, Integer.class,isbn);

        if (price!=null){
            return price;
        }
        System.out.println("价格查询失败");
        return null;

     }

    /**
     * 3、减去库存
     *      正常情况下，买多少本书，减去多少库存
     *      现在为了简单起见，每次都-1本
     */
    public void updateStock(String isbn){
        // 1、写sql
        String sql="UPDATE book_stock SET stock=stock-1 WHERE isbn=?";
        // 2、提交sql
        int update = jdbcTemplate.update(sql,isbn);

        if (update >0){
            System.out.println("【库存】更新成功");
            return;
        }
        System.out.println("【库存】更新失败");

    }
}
